草庐IT

c++ - Qt raw 与 std::shared_ptr

全部标签

c++ - 是否有 API 可以将 FILETIME 格式的时间从 UTC 时间转换为本地时间?

我知道SystemTimeToTzSpecificLocalTimeAPI可以将UTC时间转换为本地时间,但需要SYSTEMTIME格式的时间。我很好奇是否有接受FILETIME格式的API?附言。我知道我可以通过使用FileTimeToSystemTime()然后使用SystemTimeToFileTime()来实现这一点。我只是想节省转换为SYSTEMTIME和返回的两个步骤。 最佳答案 看看FileTimeToLocalFileTime()Convertsa(UTC-based)filetimetoalocalfiletime

c++ - Windows 7(或更高版本)中事件可见 HWND 的数量是否会显着影响性能?

诚然,这个问题含糊不清,但我正在努力避免陷入设计困境。我听说在一个应用程序中创建数百个按钮和其他控件的性能不如我自己编写无窗口控件并自行处理鼠标单击/移动/跟踪/捕获逻辑。我只想说我的偏好是使用基于HWND的控件,因为我不必重新发明轮子,但如果应用程序变得无法使用则不需要。 最佳答案 根据我对HWND密集型应用程序的体验,我认为您不会遇到严重的一般性能问题。但是,如果您疯狂地创建O/S窗口,则需要确保您没有超过每个进程和每个session的句柄限制(whichdefaultto10,000foraprocessand32,768fo

C - 在控制台应用程序中更改单个单词的文本颜色?

我正在为学校做一个项目,我希望能够以黄色文本显示用户返还给他们的钱,以便于阅读。到目前为止,我已经找到了一种使用为整个窗口执行此操作的方法system("COLOR06");但这不是我想要的。我在Windows的控制台应用程序中运行,所以一些颜色会很好地使它达到标准。这可以用C语言实现吗? 最佳答案 无需调用系统命令,假设您只处理Windows应用程序,您可以使用以下命令:HANDLEhStdOut=GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleTextAttribute(hStdOut,(FO

c - 为什么这个 C 程序在 windows 上崩溃而在 linux 上运行正常?

我写了一个程序来求谐波数(then-thharmonicnumberisthesumofthereciprocalsofthefirstnnaturalnumbers)数字序列。我的程序将其输入作为命令行参数并以表格格式打印谐波数。作为一个例子,它是这样工作的:C:\Users\EDDiE\c>har10305102.9289682539682538153.3182289932289937203.5977396571436819253.8159581777535068303.994987130920390610(argv[1])=startingnumber,30(argv[2])=e

c++ - 将 unicode(带 BOM)字符串转换为 ASCII std::string

我有一个带有初始BOM的unicode字符串(一系列字节)(它通常是UTF-16little-endian)我需要将其转换为ASCIIstd::string。我尝试使用thissolution但它不适用于visualstudio2015.我怎样才能转换那一系列的字节?目标系统将是Windows。 最佳答案 这应该适用于visualstudio。此函数永远不应内联,因为它会在堆栈上分配临时可变大小的缓冲区。std::stringtoMultibyte(constwchar_t*src,UINTcodepage=CP_ACP){intw

C fopen() - 绝对路径可能存在的问题

这个问题在这里已经有了答案:Returningastringfromfunction(3个答案)关闭7年前。我目前在Windows10下使用Code::Blocks13.12(编译器:GNUGCC)。我正在尝试打开文件并加载其内容,但fopen给我带来了麻烦。'input.txt'与我的可执行文件位于同一目录中。我已经检查了权限。获取路径的函数:char*getFileName(){char*fileName;/*thepathofthe.txtfile*/charpath[MAX_PATH];/*getthepathoftheexecutable*/GetModuleFileName

c - Windows 互斥对象和信号量

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭6年前。ImprovethisquestionWindows互斥对象是否可以替换为二进制信号量,或者Windows互斥对象是否具有我错过的某些特定功能?

C++ - 如何获取正在运行的进程的 .exe 路径作为 std::string?

我有一个程序需要将文件放在与已运行的Windows进程相同的目录中。如何将此目录检索为std::string以便我可以在正确的位置写入?我知道这不是什么大问题,但我确实用Google搜索了很多次,但我找不到任何与解决方案类似的东西。编辑:我正在使用Code::Blocks,因此最好是不特定于单个IDE功能的解决方案。 最佳答案 如果您为Windows开发程序,您可以使用GetModuleFilename()API调用,然后从整个路径中删除文件名部分。这是示例:#include"stdafx.h"#include#include#in

在 Linux 上使用 MinGW 为 Windows 编译 Gnu11

我有一个C程序;它使用gcc-std=gnu11iter.c-oiter进行编译和链接,因为我正在使用一些GNUstring.h扩展,例如strndup,strnlen和strsep。我想在UbuntuLinux上使用包i686-w64-mingw32-gcc为Windows编译这个程序。$i686-w64-mingw32-gcc-std=gnu11iter.c-oiter32.exeInfileincludedfromiter.c:1:0:iter.h:Infunction‘str_chomp’:iter.h:166:15:warning:implicitdeclarationoff

c - 在不离开内核空间的情况下实现 "tee"

在Linux中,tee命令将数据从stdin复制到stdout和文件;通过利用tee和splice系统调用,可以在数据永远不会离开内核空间的情况下实现此功能。在Windows上实现tee命令并且数据永远不会离开内核空间需要哪些函数?虽然tee命令有一个简单的实现,包括read、open和write将数据复制到用户空间,我特别感兴趣的是学习如何在数据不离开内核空间的情况下分割文件流。 最佳答案 这个问题的前提是错误的。tee命令不依赖于tee()或splice()系统调用,也不是零拷贝;它基本上实现为:openfileforwriti